Hice una ventana emergente con un temporizador de cuenta regresiva con la ayuda de Google usando el código JavaScript que está configurado para finalizar después de 100 días, no puedo cambiarlo a 30 días después de muchos intentos. Como soy nuevo en javascript, ayúdeme y resuelva mi problema, también quiero saber la lógica adecuada detrás de esto.
Esto es lo que probé (Esto da como resultado 100 días y así sucesivamente hora, minuto, segundo)
window.addEventListener("load", function(){ setTimeout( function open(evento){ document.querySelector(".popup").style.display = "block"; }, 2000 ) });
document.querySelector("#close").addEventListener("click", function(){ document.querySelector(".popup").style.display = "none"; });
const año = nueva Fecha().getFullYear(); const cuatroDeJulio = nueva Fecha(año, 6, 4).obtenerHora(); const fourOfJulyNextYear = new Date(year + 1, 6, 4).getTime(); const mes = nueva Fecha().getMonth(); // cuenta regresiva let timer = setInterval(function () { // obtener la fecha de hoy const today = new Date().getTime(); // obtener la diferencia let diff, if (month > 6) { diff = fourOfJulyNextYear - today; } else { diff = fourOfJuly - today; } // matemáticas let días = Math.floor(diff / (1000 * 60 * 60 * 24)); let horas = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); let minutos = Math.floor ((dif % (1000 * 60 * 60)) / (1000 * 60)); let segundos = Math.floor ((diff % ( 1000 * 60)) / 1000); // mostrar documento.getElementById("temporizador").innerHTML = ' \ ' + días + 'días \ \ ' + horas + 'horas \ \ ' + minutos + 'minutos \ \ ' + segundos + "segundos \ "; }, 1000);
Quiero que muestre 30 días, pero ¿cómo?
su código muestra una cuenta regresiva hasta el próximo 4 de julio.
¿Desea mostrar una cuenta regresiva para una fecha específica o solo 30 días siempre?
En su intervalo (que se ejecuta aproximadamente cada segundo), compara la fecha objetivo con la fecha actual y luego calcula sus días, horas y minutos.
const today = new Date() // targetDate = today + 30 days const targetDate = new Date(); targetDate.setDate(targetDate.getDate() + 30); const diff = targetDate.getTime() - today.getTime()Aquí puede encontrar una versión funcional: https://jsfiddle.net/6bhuywn4/26/